package com.jeff.learn.array;

public class PrintYangHuiTriangle {
    public static void main(String[] args) {
        printYanHuiTriangle(5);
    }
    public static void printYanHuiTriangle(int numRows) {
        // 创建一个二维数组来存储杨辉三角形的每一行
        int[][] triangle = new int[numRows][];

        // 初始化二维数组
        for (int i = 0; i < numRows; i++) {
            triangle[i] = new int[i + 1];
            triangle[i][0] = 1; // 每一行的第一个元素为1
            triangle[i][i] = 1; // 每一行的最后一个元素为1

            // 计算中间的元素
            for (int j = 1; j < i; j++) {
                triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
            }
        }

        // 打印杨辉三角形
        for (int i = 0; i < numRows; i++) {
            // 打印开头的空格
            for (int j = 0; j < numRows - i - 1; j++) {
                System.out.print(" ");
            }

            // 打印数字
            for (int j = 0; j <= i; j++) {
                System.out.print(triangle[i][j] + " ");
            }

            System.out.println(); // 换行
        }
    }
}
